package com.eportal.service;

import com.eportal.domain.Sysmenu;
import com.eportal.domain.Sysopt;
import com.eportal.domain.Sysroles;
import com.framework.jqgrid.JqGridPager;

import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;

public interface SysmenuService {

	Sysmenu add(Sysmenu sysmenu) throws Exception;

    void delete(Long id);

    void update(Sysmenu sysmenu) throws InvocationTargetException, IllegalAccessException, Exception;

    List<Map<String, Object>> list(JqGridPager page);

//    List<Map<String, Object>> list();

    Sysmenu get(Long id);

//    Sysmenu get(String url);

//    List<Sysmenu> loadMenu(Sysopt sysopt);

    Map<String, Object> loadAuths(Sysopt sysopt,int userRole);

//    List<Sysmenu> loadButton(Sysopt sysopt, String url);

	List<Sysmenu> sort(List<Sysmenu> sysmenus);

	List<Sysmenu> listMenu(Sysroles role);

	Map<String, Object> addMethod(Sysmenu sysmenu);

	Map<String, Object> updateMethod(Sysmenu sysmenu);

	Map<String, Object> deleteMethod(Long sid);

	List<Map<String, Object>> getButton(String listViewUrl);

	List<Map<String, String>> scoreList(String where);

	Sysmenu getByMenuUrl(String url);

	List<Sysmenu> getSysmenu(List<Map<String, Object>> listSysmenuMap);
}
